bitkeeper revision 1.155 (3e7cafd3WKkYla8OeUUnMW-GzGI9QQ)
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Sat, 22 Mar 2003 18:47:47 +0000 (18:47 +0000)
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Sat, 22 Mar 2003 18:47:47 +0000 (18:47 +0000)
mkbuildtree:
  Remove some more unnecessary files from xenolinux sparse tree.
.del-pgtable-3level.h~b77b54f265f8b550:
  Delete: xenolinux-2.4.21-pre4-sparse/include/asm-xeno/pgtable-3level.h
.del-i387.c~b4f78cbb1f82161e:
  Delete: xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/i387.c

.rootkeys
xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/i387.c [deleted file]
xenolinux-2.4.21-pre4-sparse/include/asm-xeno/pgtable-3level.h [deleted file]
xenolinux-2.4.21-pre4-sparse/mkbuildtree

index 99803cc8e710c3bc6a03d6dc67958cd950682c40..39ed34116ee37cd5527b2cb0e5f1bd9c49d19d5c 100644 (file)
--- a/.rootkeys
+++ b/.rootkeys
 3e5a4e65Hy_1iUvMTPsNqGNXd9uFpg xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/head.S
 3e5a4e65ibVQmwlOn0j3sVH_j_6hAg xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/hypervisor.c
 3e5a4e65RMGcuA-HCn3-wNx3fFQwdg xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/i386_ksyms.c
-3e5a4e65JfSHwduNJO6j-upYnjoWLA xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/i387.c
 3e5a4e65MEvZhlr070sK5JsfAQlv7Q xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/ioport.c
 3e5a4e653U6cELGv528IxOLHvCq8iA xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/irq.c
 3e5a4e65muT6SU3ck47IP87Q7Ti5hA xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/ldt.c
 3e5a4e67mnQfh-R8KcQCaVo2Oho6yg xenolinux-2.4.21-pre4-sparse/include/asm-xeno/page.h
 3e5a4e67uTYU5oEnIDjxuaez8njjqg xenolinux-2.4.21-pre4-sparse/include/asm-xeno/pgalloc.h
 3e5a4e67X7JyupgdYkgDX19Huj2sAw xenolinux-2.4.21-pre4-sparse/include/asm-xeno/pgtable-2level.h
-3e5a4e67w3ckNdrTEgqiSiYYAYMwOQ xenolinux-2.4.21-pre4-sparse/include/asm-xeno/pgtable-3level.h
 3e5a4e67gr4NLGtQ5CvSLimMYZlkOA xenolinux-2.4.21-pre4-sparse/include/asm-xeno/pgtable.h
 3e5a4e676uK4xErTBDH6XJREn9LSyg xenolinux-2.4.21-pre4-sparse/include/asm-xeno/processor.h
 3e5a4e67AJPjW-zL7p-xWuA6IVeH1g xenolinux-2.4.21-pre4-sparse/include/asm-xeno/ptrace.h
diff --git a/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/i387.c b/xenolinux-2.4.21-pre4-sparse/arch/xeno/kernel/i387.c
deleted file mode 100644 (file)
index d7d7fdd..0000000
+++ /dev/null
@@ -1,542 +0,0 @@
-/*
- *  linux/arch/i386/kernel/i387.c
- *
- *  Copyright (C) 1994 Linus Torvalds
- *
- *  Pentium III FXSR, SSE support
- *  General FPU state handling cleanups
- *     Gareth Hughes <gareth@valinux.com>, May 2000
- */
-
-#include <linux/config.h>
-#include <linux/sched.h>
-#include <linux/init.h>
-#include <asm/processor.h>
-#include <asm/i387.h>
-#include <asm/math_emu.h>
-#include <asm/sigcontext.h>
-#include <asm/user.h>
-#include <asm/ptrace.h>
-#include <asm/uaccess.h>
-
-#define HAVE_HWFP 1
-
-static union i387_union empty_fpu_state;
-
-void __init boot_init_fpu(void)
-{
-       memset(&empty_fpu_state, 0, sizeof(union i387_union));
-
-       if (!cpu_has_fxsr) {
-               empty_fpu_state.fsave.cwd = 0xffff037f;
-               empty_fpu_state.fsave.swd = 0xffff0000;
-               empty_fpu_state.fsave.twd = 0xffffffff;
-               empty_fpu_state.fsave.fos = 0xffff0000;
-       } else {
-               empty_fpu_state.fxsave.cwd = 0x37f;
-               if (cpu_has_xmm)
-                       empty_fpu_state.fxsave.mxcsr = 0x1f80;
-       }
-}
-
-void load_empty_fpu(struct task_struct * tsk)
-{
-       memcpy(&tsk->thread.i387, &empty_fpu_state, sizeof(union i387_union));
-}
-
-/*
- * The _current_ task is using the FPU for the first time
- * so initialize it and set the mxcsr to its default
- * value at reset if we support XMM instructions and then
- * remeber the current task has used the FPU.
- */
-void init_fpu(void)
-{
-       if (cpu_has_fxsr)
-               asm volatile("fxrstor %0" : : "m" (empty_fpu_state.fxsave));
-       else
-               __asm__("fninit");
-       current->used_math = 1;
-}
-
-/*
- * FPU lazy state save handling.
- */
-
-static inline void __save_init_fpu( struct task_struct *tsk )
-{
-       if ( cpu_has_fxsr ) {
-               asm volatile( "fxsave %0 ; fnclex"
-                             : "=m" (tsk->thread.i387.fxsave) );
-       } else {
-               asm volatile( "fnsave %0 ; fwait"
-                             : "=m" (tsk->thread.i387.fsave) );
-       }
-       tsk->flags &= ~PF_USEDFPU;
-}
-
-void save_init_fpu( struct task_struct *tsk )
-{
-       __save_init_fpu(tsk);
-       stts();
-}
-
-void kernel_fpu_begin(void)
-{
-       struct task_struct *tsk = current;
-
-       if (tsk->flags & PF_USEDFPU) {
-               __save_init_fpu(tsk);
-               return;
-       }
-       clts();
-}
-
-void restore_fpu( struct task_struct *tsk )
-{
-       if ( cpu_has_fxsr ) {
-               asm volatile( "fxrstor %0"
-                             : : "m" (tsk->thread.i387.fxsave) );
-       } else {
-               asm volatile( "frstor %0"
-                             : : "m" (tsk->thread.i387.fsave) );
-       }
-}
-
-/*
- * FPU tag word conversions.
- */
-
-static inline unsigned short twd_i387_to_fxsr( unsigned short twd )
-{
-       unsigned int tmp; /* to avoid 16 bit prefixes in the code */
-       /* Transform each pair of bits into 01 (valid) or 00 (empty) */
-        tmp = ~twd;
-        tmp = (tmp | (tmp>>1)) & 0x5555; /* 0V0V0V0V0V0V0V0V */
-        /* and move the valid bits to the lower byte. */
-        tmp = (tmp | (tmp >> 1)) & 0x3333; /* 00VV00VV00VV00VV */
-        tmp = (tmp | (tmp >> 2)) & 0x0f0f; /* 0000VVVV0000VVVV */
-        tmp = (tmp | (tmp >> 4)) & 0x00ff; /* 00000000VVVVVVVV */
-        return tmp;
-}
-
-static inline unsigned long twd_fxsr_to_i387( struct i387_fxsave_struct *fxsave )
-{
-       struct _fpxreg *st = NULL;
-       unsigned long twd = (unsigned long) fxsave->twd;
-       unsigned long tag;
-       unsigned long ret = 0xffff0000;
-       int i;
-
-#define FPREG_ADDR(f, n)       ((char *)&(f)->st_space + (n) * 16);
-
-       for ( i = 0 ; i < 8 ; i++ ) {
-               if ( twd & 0x1 ) {
-                       st = (struct _fpxreg *) FPREG_ADDR( fxsave, i );
-
-                       switch ( st->exponent & 0x7fff ) {
-                       case 0x7fff:
-                               tag = 2;                /* Special */
-                               break;
-                       case 0x0000:
-                               if ( !st->significand[0] &&
-                                    !st->significand[1] &&
-                                    !st->significand[2] &&
-                                    !st->significand[3] ) {
-                                       tag = 1;        /* Zero */
-                               } else {
-                                       tag = 2;        /* Special */
-                               }
-                               break;
-                       default:
-                               if ( st->significand[3] & 0x8000 ) {
-                                       tag = 0;        /* Valid */
-                               } else {
-                                       tag = 2;        /* Special */
-                               }
-                               break;
-                       }
-               } else {
-                       tag = 3;                        /* Empty */
-               }
-               ret |= (tag << (2 * i));
-               twd = twd >> 1;
-       }
-       return ret;
-}
-
-/*
- * FPU state interaction.
- */
-
-unsigned short get_fpu_cwd( struct task_struct *tsk )
-{
-       if ( cpu_has_fxsr ) {
-               return tsk->thread.i387.fxsave.cwd;
-       } else {
-               return (unsigned short)tsk->thread.i387.fsave.cwd;
-       }
-}
-
-unsigned short get_fpu_swd( struct task_struct *tsk )
-{
-       if ( cpu_has_fxsr ) {
-               return tsk->thread.i387.fxsave.swd;
-       } else {
-               return (unsigned short)tsk->thread.i387.fsave.swd;
-       }
-}
-
-unsigned short get_fpu_twd( struct task_struct *tsk )
-{
-       if ( cpu_has_fxsr ) {
-               return tsk->thread.i387.fxsave.twd;
-       } else {
-               return (unsigned short)tsk->thread.i387.fsave.twd;
-       }
-}
-
-unsigned short get_fpu_mxcsr( struct task_struct *tsk )
-{
-       if ( cpu_has_xmm ) {
-               return tsk->thread.i387.fxsave.mxcsr;
-       } else {
-               return 0x1f80;
-       }
-}
-
-void set_fpu_cwd( struct task_struct *tsk, unsigned short cwd )
-{
-       if ( cpu_has_fxsr ) {
-               tsk->thread.i387.fxsave.cwd = cwd;
-       } else {
-               tsk->thread.i387.fsave.cwd = ((long)cwd | 0xffff0000);
-       }
-}
-
-void set_fpu_swd( struct task_struct *tsk, unsigned short swd )
-{
-       if ( cpu_has_fxsr ) {
-               tsk->thread.i387.fxsave.swd = swd;
-       } else {
-               tsk->thread.i387.fsave.swd = ((long)swd | 0xffff0000);
-       }
-}
-
-void set_fpu_twd( struct task_struct *tsk, unsigned short twd )
-{
-       if ( cpu_has_fxsr ) {
-               tsk->thread.i387.fxsave.twd = twd_i387_to_fxsr(twd);
-       } else {
-               tsk->thread.i387.fsave.twd = ((long)twd | 0xffff0000);
-       }
-}
-
-void set_fpu_mxcsr( struct task_struct *tsk, unsigned short mxcsr )
-{
-       if ( cpu_has_xmm ) {
-               tsk->thread.i387.fxsave.mxcsr = (mxcsr & 0xffbf);
-       }
-}
-
-/*
- * FXSR floating point environment conversions.
- */
-
-static inline int convert_fxsr_to_user( struct _fpstate *buf,
-                                       struct i387_fxsave_struct *fxsave )
-{
-       unsigned long env[7];
-       struct _fpreg *to;
-       struct _fpxreg *from;
-       int i;
-
-       env[0] = (unsigned long)fxsave->cwd | 0xffff0000;
-       env[1] = (unsigned long)fxsave->swd | 0xffff0000;
-       env[2] = twd_fxsr_to_i387(fxsave);
-       env[3] = fxsave->fip;
-       env[4] = fxsave->fcs | ((unsigned long)fxsave->fop << 16);
-       env[5] = fxsave->foo;
-       env[6] = fxsave->fos;
-
-       if ( __copy_to_user( buf, env, 7 * sizeof(unsigned long) ) )
-               return 1;
-
-       to = &buf->_st[0];
-       from = (struct _fpxreg *) &fxsave->st_space[0];
-       for ( i = 0 ; i < 8 ; i++, to++, from++ ) {
-               if ( __copy_to_user( to, from, sizeof(*to) ) )
-                       return 1;
-       }
-       return 0;
-}
-
-static inline int convert_fxsr_from_user( struct i387_fxsave_struct *fxsave,
-                                         struct _fpstate *buf )
-{
-       unsigned long env[7];
-       struct _fpxreg *to;
-       struct _fpreg *from;
-       int i;
-
-       if ( __copy_from_user( env, buf, 7 * sizeof(long) ) )
-               return 1;
-
-       fxsave->cwd = (unsigned short)(env[0] & 0xffff);
-       fxsave->swd = (unsigned short)(env[1] & 0xffff);
-       fxsave->twd = twd_i387_to_fxsr((unsigned short)(env[2] & 0xffff));
-       fxsave->fip = env[3];
-       fxsave->fop = (unsigned short)((env[4] & 0xffff0000) >> 16);
-       fxsave->fcs = (env[4] & 0xffff);
-       fxsave->foo = env[5];
-       fxsave->fos = env[6];
-
-       to = (struct _fpxreg *) &fxsave->st_space[0];
-       from = &buf->_st[0];
-       for ( i = 0 ; i < 8 ; i++, to++, from++ ) {
-               if ( __copy_from_user( to, from, sizeof(*from) ) )
-                       return 1;
-       }
-       return 0;
-}
-
-/*
- * Signal frame handlers.
- */
-
-static inline int save_i387_fsave( struct _fpstate *buf )
-{
-       struct task_struct *tsk = current;
-
-       unlazy_fpu( tsk );
-       tsk->thread.i387.fsave.status = tsk->thread.i387.fsave.swd;
-       if ( __copy_to_user( buf, &tsk->thread.i387.fsave,
-                            sizeof(struct i387_fsave_struct) ) )
-               return -1;
-       return 1;
-}
-
-static inline int save_i387_fxsave( struct _fpstate *buf )
-{
-       struct task_struct *tsk = current;
-       int err = 0;
-
-       unlazy_fpu( tsk );
-
-       if ( convert_fxsr_to_user( buf, &tsk->thread.i387.fxsave ) )
-               return -1;
-
-       err |= __put_user( tsk->thread.i387.fxsave.swd, &buf->status );
-       err |= __put_user( X86_FXSR_MAGIC, &buf->magic );
-       if ( err )
-               return -1;
-
-       if ( __copy_to_user( &buf->_fxsr_env[0], &tsk->thread.i387.fxsave,
-                            sizeof(struct i387_fxsave_struct) ) )
-               return -1;
-       return 1;
-}
-
-int save_i387( struct _fpstate *buf )
-{
-       if ( !current->used_math )
-               return 0;
-
-       /* This will cause a "finit" to be triggered by the next
-        * attempted FPU operation by the 'current' process.
-        */
-       current->used_math = 0;
-
-       if ( HAVE_HWFP ) {
-               if ( cpu_has_fxsr ) {
-                       return save_i387_fxsave( buf );
-               } else {
-                       return save_i387_fsave( buf );
-               }
-       } else {
-               return save_i387_soft( &current->thread.i387.soft, buf );
-       }
-}
-
-static inline int restore_i387_fsave( struct _fpstate *buf )
-{
-       struct task_struct *tsk = current;
-       clear_fpu( tsk );
-       return __copy_from_user( &tsk->thread.i387.fsave, buf,
-                                sizeof(struct i387_fsave_struct) );
-}
-
-static inline int restore_i387_fxsave( struct _fpstate *buf )
-{
-       struct task_struct *tsk = current;
-       clear_fpu( tsk );
-       if ( __copy_from_user( &tsk->thread.i387.fxsave, &buf->_fxsr_env[0],
-                              sizeof(struct i387_fxsave_struct) ) )
-               return 1;
-       /* mxcsr bit 6 and 31-16 must be zero for security reasons */
-       tsk->thread.i387.fxsave.mxcsr &= 0xffbf;
-       return convert_fxsr_from_user( &tsk->thread.i387.fxsave, buf );
-}
-
-int restore_i387( struct _fpstate *buf )
-{
-       int err;
-
-       if ( HAVE_HWFP ) {
-               if ( cpu_has_fxsr ) {
-                       err =  restore_i387_fxsave( buf );
-               } else {
-                       err = restore_i387_fsave( buf );
-               }
-       } else {
-               err = restore_i387_soft( &current->thread.i387.soft, buf );
-       }
-       current->used_math = 1;
-       return err;
-}
-
-/*
- * ptrace request handlers.
- */
-
-static inline int get_fpregs_fsave( struct user_i387_struct *buf,
-                                   struct task_struct *tsk )
-{
-       return __copy_to_user( buf, &tsk->thread.i387.fsave,
-                              sizeof(struct user_i387_struct) );
-}
-
-static inline int get_fpregs_fxsave( struct user_i387_struct *buf,
-                                    struct task_struct *tsk )
-{
-       return convert_fxsr_to_user( (struct _fpstate *)buf,
-                                    &tsk->thread.i387.fxsave );
-}
-
-int get_fpregs( struct user_i387_struct *buf, struct task_struct *tsk )
-{
-       if ( HAVE_HWFP ) {
-               if ( cpu_has_fxsr ) {
-                       return get_fpregs_fxsave( buf, tsk );
-               } else {
-                       return get_fpregs_fsave( buf, tsk );
-               }
-       } else {
-               return save_i387_soft( &tsk->thread.i387.soft,
-                                      (struct _fpstate *)buf );
-       }
-}
-
-static inline int set_fpregs_fsave( struct task_struct *tsk,
-                                   struct user_i387_struct *buf )
-{
-       return __copy_from_user( &tsk->thread.i387.fsave, buf,
-                                sizeof(struct user_i387_struct) );
-}
-
-static inline int set_fpregs_fxsave( struct task_struct *tsk,
-                                    struct user_i387_struct *buf )
-{
-       return convert_fxsr_from_user( &tsk->thread.i387.fxsave,
-                                      (struct _fpstate *)buf );
-}
-
-int set_fpregs( struct task_struct *tsk, struct user_i387_struct *buf )
-{
-       if ( HAVE_HWFP ) {
-               if ( cpu_has_fxsr ) {
-                       return set_fpregs_fxsave( tsk, buf );
-               } else {
-                       return set_fpregs_fsave( tsk, buf );
-               }
-       } else {
-               return restore_i387_soft( &tsk->thread.i387.soft,
-                                         (struct _fpstate *)buf );
-       }
-}
-
-int get_fpxregs( struct user_fxsr_struct *buf, struct task_struct *tsk )
-{
-       if ( cpu_has_fxsr ) {
-               if (__copy_to_user( (void *)buf, &tsk->thread.i387.fxsave,
-                                   sizeof(struct user_fxsr_struct) ))
-                       return -EFAULT;
-               return 0;
-       } else {
-               return -EIO;
-       }
-}
-
-int set_fpxregs( struct task_struct *tsk, struct user_fxsr_struct *buf )
-{
-       if ( cpu_has_fxsr ) {
-               __copy_from_user( &tsk->thread.i387.fxsave, (void *)buf,
-                                 sizeof(struct user_fxsr_struct) );
-               /* mxcsr bit 6 and 31-16 must be zero for security reasons */
-               tsk->thread.i387.fxsave.mxcsr &= 0xffbf;
-               return 0;
-       } else {
-               return -EIO;
-       }
-}
-
-/*
- * FPU state for core dumps.
- */
-
-static inline void copy_fpu_fsave( struct task_struct *tsk,
-                                  struct user_i387_struct *fpu )
-{
-       memcpy( fpu, &tsk->thread.i387.fsave,
-               sizeof(struct user_i387_struct) );
-}
-
-static inline void copy_fpu_fxsave( struct task_struct *tsk,
-                                  struct user_i387_struct *fpu )
-{
-       unsigned short *to;
-       unsigned short *from;
-       int i;
-
-       memcpy( fpu, &tsk->thread.i387.fxsave, 7 * sizeof(long) );
-
-       to = (unsigned short *)&fpu->st_space[0];
-       from = (unsigned short *)&tsk->thread.i387.fxsave.st_space[0];
-       for ( i = 0 ; i < 8 ; i++, to += 5, from += 8 ) {
-               memcpy( to, from, 5 * sizeof(unsigned short) );
-       }
-}
-
-int dump_fpu( struct pt_regs *regs, struct user_i387_struct *fpu )
-{
-       int fpvalid;
-       struct task_struct *tsk = current;
-
-       fpvalid = tsk->used_math;
-       if ( fpvalid ) {
-               unlazy_fpu( tsk );
-               if ( cpu_has_fxsr ) {
-                       copy_fpu_fxsave( tsk, fpu );
-               } else {
-                       copy_fpu_fsave( tsk, fpu );
-               }
-       }
-
-       return fpvalid;
-}
-
-int dump_extended_fpu( struct pt_regs *regs, struct user_fxsr_struct *fpu )
-{
-       int fpvalid;
-       struct task_struct *tsk = current;
-
-       fpvalid = tsk->used_math && cpu_has_fxsr;
-       if ( fpvalid ) {
-               unlazy_fpu( tsk );
-               memcpy( fpu, &tsk->thread.i387.fxsave,
-                       sizeof(struct user_fxsr_struct) );
-       }
-
-       return fpvalid;
-}
diff --git a/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/pgtable-3level.h b/xenolinux-2.4.21-pre4-sparse/include/asm-xeno/pgtable-3level.h
deleted file mode 100644 (file)
index 2666cbb..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef _I386_PGTABLE_3LEVEL_H
-#define _I386_PGTABLE_3LEVEL_H
-
-#error "PAE unsupported"
-
-/*
- * Intel Physical Address Extension (PAE) Mode - three-level page
- * tables on PPro+ CPUs.
- *
- * Copyright (C) 1999 Ingo Molnar <mingo@redhat.com>
- */
-
-/*
- * PGDIR_SHIFT determines what a top-level page table entry can map
- */
-#define PGDIR_SHIFT    30
-#define PTRS_PER_PGD   4
-
-/*
- * PMD_SHIFT determines the size of the area a middle-level
- * page table can map
- */
-#define PMD_SHIFT      21
-#define PTRS_PER_PMD   512
-
-/*
- * entries per page directory level
- */
-#define PTRS_PER_PTE   512
-
-#define pte_ERROR(e) \
-       printk("%s:%d: bad pte %p(%08lx%08lx).\n", __FILE__, __LINE__, &(e), (e).pte_high, (e).pte_low)
-#define pmd_ERROR(e) \
-       printk("%s:%d: bad pmd %p(%016Lx).\n", __FILE__, __LINE__, &(e), pmd_val(e))
-#define pgd_ERROR(e) \
-       printk("%s:%d: bad pgd %p(%016Lx).\n", __FILE__, __LINE__, &(e), pgd_val(e))
-
-static inline int pgd_none(pgd_t pgd)          { return 0; }
-static inline int pgd_bad(pgd_t pgd)           { return 0; }
-static inline int pgd_present(pgd_t pgd)       { return 1; }
-
-/* Rules for using set_pte: the pte being assigned *must* be
- * either not present or in a state where the hardware will
- * not attempt to update the pte.  In places where this is
- * not possible, use pte_get_and_clear to obtain the old pte
- * value and then use set_pte to update it.  -ben
- */
-static inline void set_pte(pte_t *ptep, pte_t pte)
-{
-       ptep->pte_high = pte.pte_high;
-       smp_wmb();
-       ptep->pte_low = pte.pte_low;
-}
-#define set_pmd(pmdptr,pmdval) \
-               set_64bit((unsigned long long *)(pmdptr),pmd_val(pmdval))
-#define set_pgd(pgdptr,pgdval) \
-               set_64bit((unsigned long long *)(pgdptr),pgd_val(pgdval))
-#define set_pte_atomic(pteptr,pteval) \
-               set_64bit((unsigned long long *)(pteptr),pte_val(pteval))
-
-
-/*
- * Pentium-II erratum A13: in PAE mode we explicitly have to flush
- * the TLB via cr3 if the top-level pgd is changed...
- * We do not let the generic code free and clear pgd entries due to
- * this erratum.
- */
-static inline void pgd_clear (pgd_t * pgd) { }
-
-#define pgd_page(pgd) \
-((unsigned long) __va(pgd_val(pgd) & PAGE_MASK))
-
-/* Find an entry in the second-level page table.. */
-#define pmd_offset(dir, address) ((pmd_t *) pgd_page(*(dir)) + \
-                       __pmd_offset(address))
-
-static inline pte_t ptep_get_and_clear(pte_t *ptep)
-{
-       pte_t res;
-
-       /* xchg acts as a barrier before the setting of the high bits */
-       res.pte_low = xchg(&ptep->pte_low, 0);
-       res.pte_high = ptep->pte_high;
-       ptep->pte_high = 0;
-
-       return res;
-}
-
-static inline int pte_same(pte_t a, pte_t b)
-{
-       return a.pte_low == b.pte_low && a.pte_high == b.pte_high;
-}
-
-#define pte_page(x)    (mem_map+(((x).pte_low >> PAGE_SHIFT) | ((x).pte_high << (32 - PAGE_SHIFT))))
-#define pte_none(x)    (!(x).pte_low && !(x).pte_high)
-
-static inline pte_t __mk_pte(unsigned long page_nr, pgprot_t pgprot)
-{
-       pte_t pte;
-
-       pte.pte_high = page_nr >> (32 - PAGE_SHIFT);
-       pte.pte_low = (page_nr << PAGE_SHIFT) | pgprot_val(pgprot);
-       return pte;
-}
-
-#endif /* _I386_PGTABLE_3LEVEL_H */
index e4ac3c9abbd838facc61a1dc906b073531b539b5..211c1e170d14ebd5097a71f232b634a2a01c72d3 100755 (executable)
@@ -74,6 +74,7 @@ ln -sf ../asm-i386/mtrr.h
 ln -sf ../asm-i386/namei.h 
 ln -sf ../asm-i386/param.h 
 ln -sf ../asm-i386/parport.h 
+ln -sf ../asm-i386/pgtable-3level.h 
 ln -sf ../asm-i386/poll.h 
 ln -sf ../asm-i386/posix_types.h 
 ln -sf ../asm-i386/resource.h 
@@ -112,6 +113,7 @@ ln -sf ../asm-i386/vga.h
 ln -sf ../asm-i386/xor.h 
 
 cd ../../arch/xeno/kernel
+ln -sf ../../i386/kernel/i387.c
 ln -sf ../../i386/kernel/init_task.c
 ln -sf ../../i386/kernel/ptrace.c
 ln -sf ../../i386/kernel/semaphore.c